swift布局

iOS Ui爬坑记

导航栏设置

AppDelegate .swift中的application 函数实现全局

1
2
3
4
5
6
let mainPage = ViewController()
let navRoot = UINavigationController(rootViewController: mainPage)
navRoot.navigationBar.isTranslucent = true//是否透明
window = UIWindow(frame: UIScreen.main.bounds)
window?.backgroundColor = UIColor.white
window?.rootViewController = navRoot//根目录

添加导航栏按钮:

1
2
let rightIteam:UIBarButtonItem = UIBarButtonItem(image: UIImage(named:"duty_choicemore"), style: UIBarButtonItemStyle.plain, target: self, action: #selector(Tapdown(_:)))
self.navigationItem.rightBarButtonItem = rightIteam

SnapKit库

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
let label  = UILabel(frame: CGRect(x: 70, y: 20, width: 100, height: 50))
self.view.addSubview(label)
label.snp.makeConstraints{(make)->Void in
make.width.height.equalTo(50);//长宽设置
make.center.equalTo(self.view)//容器实现
}
//支持链式调用
//距离父视图
make.top.equalToSuperview().offset(100)
//大于
make.left.greaterThanOrEqualTo(self.view).offset(20)
//小于
make.left.lessThanOrEqualTo(20)
//优先级 999>666(max = 999 else @throw)
make.width.equalTo(100).priority(666)
make.width.equalTo(250).priority(999)
//声明约束
//global
var updateConstraint: Constraint?
//method 对某个约束进行绑定
self.updateConstraint = make.top.left.equalTo(10).constraint
//
blackView.snp.remakeConstraints